home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-12-01 | 51.5 KB | 2,350 lines |
-
-
-
- IEN 32
- Section 2.3.3.12
-
- Title: Catenet Monitoring and Control: A Model for the Gateway Component
-
- Author: John Davidson [Davidson@BBNE]
-
- Note: This document contains figures which are not included in this on line
- version, the figures may be obtained in hardcopy from the author.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CATENET MONITORING AND CONTROL:
-
- A MODEL FOR THE GATEWAY COMPONENT
-
- John Davidson
-
- Bolt Beranek and Newman, Inc.
-
- IEN #32
-
- Internet Notebook Section 2.3.3.12
-
- April 28, 1978
-
-
-
-
-
-
- Catenet Monitoring and Control:
-
- A Model for the Gateway Component
-
-
-
-
-
- 1. INTRODUCTION
-
-
- At the last Internet meeting, some concern was expressed
-
- that we don't have a real "model" for what a gateway is, what it
-
- does, and how it does it, and that without such a model it is
-
- somewhat dificult to describe the kinds of activities which
-
- should be monitored or controlled by a Gateway Monitoring and
-
- Control Center (GMCC). To respond to that concern, we have
-
- written this note to express our recent thoughts about a gateway
-
- model. Although the note centers primarily around the topic of a
-
- gateway model, we have also included a few thoughts about
-
- possible models for the other components of a general
-
- internetwork structure.
-
- The note proceeds as follows. In Section 2 we try to
-
- establish a reason for wanting a model of a given internetwork
-
- component, and present a brief overview of the potential benefits
-
- of Monitoring and Control. This presentation is largely
-
- pedagogical since it is assumed that this document will, for a
-
- while at least, be the only introduction to the topic available.
-
- In Section 3 we discuss the fundamental kinds of activities
-
- which must be performed by any internet component if it is to
-
- participate in Monitoring and Control. This section establishes
-
- motivation for some of the mechanisms discussed in the rest of
-
- the paper.
-
- - 1 -
-
-
-
-
-
-
- In Section 4 we discuss the roles which the hosts, local
-
- Packet Switching Networks (PSNs), and the Gateway Monitoring and
-
- Control Centers (GMCCs) may have to play in Monitoring and
-
- Control for the internet.
-
- Then, in Section 5, we finally begin to discuss the
-
- principle characteristics of a possible gateway model. We
-
- examine first a list of practical constraints which influence the
-
- way in which the model is being designed, and then, suitably
-
- constrained, we begin the task of developing the model itself. A
-
- complete modelling has not yet been performed, and is likely to
-
- take quite a while to complete. Section 5, however, gives a
-
- suitable indication of the way in which the model will be
-
- developed, and of the alternative interpretations available to
-
- gateway designers who pattern their implementations after the
-
- model.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 2 -
-
-
-
-
-
-
- 2. CONTEXT F OR MODELING
-
- It is assumed that gateways exist to make communication
-
- possible between hosts on different packet switching networks. In
-
- this regard, they actually serve to make a single network out of
-
- several diverse, disjoint networks. Thus gateways can be said to
-
- form the nodes of a super-network, called a Catenet, whose
-
- "links" are the individual packet switching networks, and whose
-
- "hosts" are simply the individual hosts of the constituent PSNs.
-
- As the nodes of this super-net, the gateways will be responsible
-
- in part or in whole for tasks like routing, fragmentation, flow
-
- control, reassembly, retransmission, and perhaps data
-
- transformation (e.g. encryption/decryption), access control, and
-
- even authentication.
-
- We can assume that there are benefits to be derived from
-
- having the Catenet operate in a coordinated fashion. However,
-
- coordination is not achieved by default, because the Catenet is
-
- being constructed in pieces, with each piece potentially under
-
- the control of a distinct administrator, each gateway implemented
-
- in a unique processor, and each program conforming to a different
-
- programmer's view of the workings of a gateway.
-
-
- The Internetworking group brought together by ARPA is
-
- serving as the coordinating authority for the development of many
-
- of the components of the Catenet. To make the important
-
- administrative and technical decisions associated with Catenet
-
- construction, however, this group must be provided with technical
-
- inputs. Many of these inputs can come from theoretical studies,
-
-
-
- - 3 -
-
-
-
-
-
-
- protocol investigations, and pre-construction experiments,
-
- modeling, and simulation during Catenet development. But the
-
- most important source of technical inputs will ultimately be the
-
- Catenet itself. If the true operational characteristics of the
-
- net can be readily (and continually) determined, then the
-
- administrative issues associated with Catenet performance
-
- (questions like "why is the throughput not as predicted", "what
-
- components are proving unreliable", "should the net be expanded
-
- or reconfigured", etc) can be adequately resolved by appeal to
-
- the recorded statistics; collection and recording of these
-
- operational statistics form a part of what we refer to as Catenet
-
- "Monitoring". Also, since the Catenet will sometimes be the
-
- "target" of the Internet group or ARPA administrative policy,
-
- then, insofar as policy affects the operation of the net (e.g.
-
- such "policy" decisions as "failed components should be dumped,
-
- reloaded, and restarted ASAP"), technical tools must be provided
-
- which help implement the policy; these kinds of tools form a
-
- part of what we refer to as Catenet "Control". (Some readers may
-
- prefer to think of this as "Coordination" rather than "Control"
-
- which unfortunately may carry other undesirable connotations.)
-
- In order to be able to Monitor and Control the operation of
-
- the Catenet in accordance with administrative policy, in the
-
- presence of the diverse component implementations, some model for
-
- the network as a whole should be developed. Futher, models for
-
- each of the component types (gateways, packet switching nets,
-
- hosts) should be developed. These model implementations should
-
- then be instrumented in a way that makes it possible to
-
-
- - 4 -
-
-
-
-
-
-
- accumulate the technical inputs and to effect the operational
-
- policy desired by Catenet administrators. If the model
-
- implementations are appropriately general, then it is reasonable
-
- to dictate that individual implementations adhere to these basic
-
- models.
-
-
- BBN is currently pursuing the development of a model for the
-
- gateway component of the Catenet. In particular, we are trying
-
- to define how the model should be instrumented to provide the
-
- appropriate kinds of Monitoring and Control capabilities. Most
-
- of the capabilities we think are needed are similar in function
-
- to the capabilities already developed for the ARPANET and its
-
- Network Control Center, NCC. We are proposing, and in fact have
-
- actually begun, the construction of a Gateway Monitoring and
-
- Control Center (GMCC) patterned after the NCC (and currently
-
- sharing resources with it, since the NCC is already accessible to
-
- internetwork traffic and since the scope of the current GMCC is
-
- at this time quite modest).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 5 -
-
-
-
-
-
-
- 3. FUNDAMENTALS OF MONITORING AND CONTROL
-
- We assert that all of the Catenet components should be
-
- properly instrumented in software (and if necessary, in hardware)
-
- to measure the service which the Catenet as a whole provides, and
-
- to enhance the maintainability of the net as a whole. The
-
- instrumentation should provide us with all the mechanisms
-
- required to perform
-
-
- Performance Monitoring
-
-
- Event Recording
-
-
- Functional Testing
-
-
- Component Maintenance
-
-
-
- Here, by Performance Monitoring, we intend that the status of _______________________
-
- Catenet components (both the binary "working/not-working"
-
- indication and the status of internal operational components) be
-
- made available to the GMCC. This will require that the Catenet
-
- components have a mechanism for communicating periodic status
-
- reports and instantaneous error reports "back" to the GMCC. This
-
- mechanism may or may not require that the reports from the
-
- various net components be synchronized in order to enable the
-
- GMCC to obtain a "snapshot" of the network as a whole; if
-
- synchronization is required, a synchronizing mechanism will be
-
- required as well. It is also undetermined whether a protected
-
- path (e.g. one using encryption to prevent spoofing) is required
-
- for communicating this information through the Catenet.
-
-
- - 6 -
-
-
-
-
-
-
- There should also be a mechanism by which the GMCC can
-
- request performance data from a Catenet component in the case of
-
- non-recurring measurements. The set of monitoring mechanisms
-
- installed in any particular component may differ from the set
-
- installed in any other component, depending on the granularity of
-
- measurement which is desired in each case.
-
- By Event Recording, we intend that the raw statistical data _______________
-
- on, say, the number of messages or packets passing through a
-
- given component be made available to the GMCC in a standard way.
-
- Not only must there be a standard way of collecting the event
-
- statistics, but there must also be a way for a designated
-
- authority like the GMCC to reset the event counters, say, or turn
-
- on or off the event recording mechanisms. We shall have more to
-
- say on what events are significant in a subsequent section.
-
- By Functional Testing we intend that the GMCC be able to ___________________
-
- direct the activities of the Catenet components either directly
-
- (by commanding performance of some task like message generation)
-
- or indirectly (by sending, or directing other components to send,
-
- messages through a given component) in order to exercise
-
- component mechanisms for error analysis or load testing. A
-
- useful mechanism in the ARPANET is the ability to isolate failed
-
- hardware components by forcing a loopback under software control
-
- at each of the component boundaries. The analogue of this scheme
-
- in the Catenet is probably simpler, since the boundaries are
-
- logically in software (e.g. in the gateway software in cases
-
- where a local PSN or another nearby gateway is being tested) or
-
- associated with the local PSN which may have reasonably flexible
-
-
- - 7 -
-
-
-
-
-
-
- control of the interface which connects it to a network host or
-
- to a gateway. Looping performed within a component should also
-
- be possible.
-
- To make use of these testing facilities, we need the ability
-
- to generate artificial traffic (and to discard it) and to reflect
-
- it (or turn it around) as required. Reflecting messages at
-
- gateways can, for example, give a measure of the throughput of
-
- Catenet links.
-
-
- By Component Maintenance, we intend that the GMCC have the _____________________
-
- ability to coordinate, and in some cases perform, the analysis of
-
- failure for failed components, the restoration of failed
-
- components, the institution of program fixes, and the
-
- distribution of new releases. It is not clear that Component
-
- Maintenance can be the responsibility of just a single GMCC, of
-
- course, but if it is to be the responsibility of any GMCC-like
-
- component, then the mechanisms by which the failed component is
-
- to be handled, and how it is to be of use in the maintenance
-
- activity, should be adequately modelled for each component in
-
- question. In this regard, we see a potential need for
-
- incorporating mechanisms for self diagnosis in the component
-
- models, for enabling the GMCC (or some other network host in
-
- conjunction with or in place of the GMCC) to read and write
-
- arbitrary locations in a component's memory, etc.
-
- Note too that the gateway programs will be provided by
-
- various implementers. These implementers may in some cases be
-
- willing to allow a given GMCC to handle reloads and restarts of
-
-
-
- - 8 -
-
-
-
-
-
-
- their component when it fails. Both the implementer and the GMCC
-
- staff may have to be involved in debugging the component if the
-
- gateway's model debugging facility (which presumes the use of a
-
- GMCC) is all the original implementers have for accessing their
-
- component remotely. It might prove useful for the GMCC to be
-
- able to copy the contents of a failed component into a file for
-
- later inspection by the original implementers in case they are
-
- unavailable to copy the contents themselves at the time of
-
- malfunction.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 9 -
-
-
-
-
-
-
- 4. MODELS FOR THE PRINCIPLE CATENET COMPONENTS
-
-
- This note is principally about gateway modelling. However,
-
- we have asserted throughout, the need to model the other
-
- components of the general Catenet as well, so that we can use
-
- them in Monitoring and Control applications where they are needed
-
- and where they can be useful. Here we describe briefly the goals
-
- we have for modelling the other components.
-
-
- 4.1 The GMCC
-
- The functions of a GMCC should be able to be performed by
-
- any host in the composite net. In view of this, a high level
-
- description, or model, of the way a GMCC operates should be
-
- created. Both the GMCC program(s) and its data base(s) should be
-
- described in a way which allows Catenet users to reproduce the
-
- GMCC functions (this basically requires coding of the GMCC
-
- programs in a high order language) and to interrogate or
-
- duplicate the accumulated data base(s) as required for their own
-
- special purposes.
-
- Because each gateway, host, or local PSN component of the
-
- composite Catenet is potentially the property of a distinct
-
- administrative authority, it is conceivable that each might
-
- actually be monitored or controlled by a distinct GMCC. This
-
- would not necessarily be the best arrangement for purposes of
-
- overall net maintainability, but nonetheless must be allowed for.
-
- What is more likely, however, is that a given administrator will
-
- give permission to some approved Catenet GMCC to perform the
-
- Monitoring and Control activities associated with Performance
-
-
- - 10 -
-
-
-
-
-
-
- Monitoring, say, or with Event Recording, but reserve for itself
-
- the ability to perform the activities associated with Functional
-
- Testing and Component Maintenance. In this case, the
-
- Administrator's host will have to understand and be able to
-
- duplicate the model GMCC functions, and the Catenet component
-
- will have to know to respond to one or the other GMCC depending
-
- on the function being requested. Since different authorities
-
- might exist for each different function, this capability should
-
- be modelled. Further, the mechanism for changing the name or
-
- address of the various designated authorities should also be
-
- modelled. Then the fact that each Catenet component knows the
-
- name of the authority designated to perform a given function
-
- makes it possible to restrict arbitrary hosts from abusing their
-
- ability to emulate a GMCC.
-
-
- 4.2 The Hosts
-
-
- Members of the ARPANET NCC staff have asserted that "a key
-
- factor in network maintainability is the centralization of the
-
- responsibility for providing adequate user service. Since
-
- service is best defined at the man/machine interface, a
-
- significant gain in maintainability would come about if the user
-
- interface were completely at the man/machine boundary. By
-
- including a host within the sphere of responsibility of network
-
- maintenance, there could be more uniform and speedier resolution
-
- of problems within that host. Since the network design allows
-
- for dissimilar node programs, not much additional complexity is
-
- required to maintain a set of dissimilar service hosts. (Thus)
-
-
- - 11 -
-
-
-
-
-
-
- the scope of the network should be expanded to providing user
-
- services with corresponding benefits for both unified design and
-
- maintainability."
-
- This may be an extreme position, and may not actually be as
-
- easy as anticipated by the NCC staff, but nevertheless it is a
-
- position which has at least some validity, especially in view of
-
- the fact that gateways are themselves just hosts, and much of the
-
- modelling performed for gateways can thus be applied to other
-
- general purpose hosts.
-
- Consider what Monitoring and Control might be possible if
-
- some small component of the host's network software, such as the
-
- TCP program, were instrumented to allow Performance Monitoring,
-
- Event Recording, etc. under control of a GMCC. The
-
- instrumentation would simply provide that the TCP keep track of
-
- its events of interest and arrange for them to be made available
-
- in a convenient way to some other protocol module (perhaps) for
-
- transmission to the GMCC. In addition, if there is to be Control
-
- of a TCP, some internal means should be provided for a process to
-
- direct certain actions of the TCP (for example the resetting of
-
- accounting statistics).
-
- Certain other capabilities might also prove useful. The TCP
-
- should be able to report to the GMCC any errors it observes in
-
- packet formats, packet delivery, etc. so that host personnel with
-
- a reliable TCP implementation need not be concerned about error
-
- analysis for newly added, undebugged hosts, say. The GMCC is
-
- certainly in the appropriate position to be able to correlate
-
- abnormal TCP interactions with Catenet component outages and be
-
-
- - 12 -
-
-
-
-
-
-
- able to explain the abnormal behavior to the host via messages to
-
- the TCP. The TCP should be able to be instructed to discard
-
- certain messages or to echo them back to their source. It should
-
- perhaps be able to timestamp and trace various messages. These
-
- kinds of activities would all be possible given an appropriate
-
- and uniform instrumentation of the various TCP implementations.
-
-
- 4.3 The PSNs
-
-
- The links of the Catenet are the local PSNs. Unlike usual
-
- network links, these links are equipped with a processing
-
- capability in the form of their own node computers or their own
-
- NCC hosts, etc. Whatever form this processing capability takes,
-
- it can presumably be made to communicate with other Catenet
-
- components using the protocols for GMCC-to-component and
-
- component-to-GMCC communication. The local PSNs should be able
-
- to report errors in interfacing which occur at the PSN/gateway
-
- interface; they can also report gateway ups and downs as they
-
- observe them; they might be instrumented to assist in tracing and
-
- looping of messages sent to or through them; they could keep
-
- track of the length of gateway outages; and since the PSN is the
-
- only component with hardware (in most cases) connections to the
-
- gateway and host components, it can perhaps help in the restart
-
- or reload of these components. The techniques for performing any
-
- of these activities should be carefully and completely modelled.
-
-
-
-
-
-
-
-
- - 13 -
-
-
-
-
-
-
- 5. A MODEL FOR THE GATEWAY COMPONENT
-
-
- The principle thing we expect a gateway to do is to perform
-
- message routing; a suggested routing mechanism is presented in
-
- IEN No. 30, "Gateway Routing: An Implementation Specification",
-
- by Strazisar and Perlman. Beyond this, there are several
-
- secondary activities in which the gateway must play a role, and
-
- the large majority of these can be clustered under the general
-
- heading of Monitoring and Control. These are the activities we
-
- are most concerned with here. As discussed earlier, the gateway
-
- component, like any other component, should be instrumented to
-
- include mechanisms which allow it to cooperate with a GMCC in
-
- providing Performance Monitoring, Event Recording, Functional
-
- Testing, and Component (i.e. gateway) Maintenance. It is the
-
- role of the model to identify the mechanisms which should be used
-
- within the gateway to provide these various functions.
-
-
- 5.1 Considerations Affecting the Design
-
-
- The intent of this section is to give some insight into the
-
- process by which the model for the gateway component will be
-
- developed. There are a number of fundamental considerations
-
- which should be stated beforehand because of their impact on the
-
- way we want to think of gateways as an entity and thus on the way
-
- we think of the necessarily composed. The first of these is that
-
- a gateway should be considered to have a net-independent part and
-
- one or more net-dependent parts. The net-independent part should
-
- be considered the heart of the gateway -- the place where the
-
-
-
- - 14 -
-
-
-
-
-
-
- common functions of routing, flow control, etc. are actually
-
- performed; this part is hopefully divorced from considerations of
-
- the networks to which the gateway is attached. The net-dependent
-
- parts on the other hand may all be different, since the networks
-
- in most cases will be different, but each should have the same
-
- eessential structure: there will be modules which gate messages
-
- to and from the attached net, and modules which append or remove
-
- local headers to or from internet (and other) messages, etc. One
-
- of the challenges for the model designer and gateway implementer
-
- is to carefully design the boundary between the net-dependent and
-
- net-independent functions.
-
-
-
- The gateway model should be able to accommodate more than
-
- one type of gateway implementation. That is, it should
-
- accurately describe or apply to implementations such as:
-
- - the conventional gateway. This is a single processor
- performing gateway functions only and connected to only two
- nets.
-
- - a two- or multi-processor gateway. This is a distributed
- implementation of the gateway, such as the "half-gateway"
- model once considered; the mechanisms used by the separate
- processors to communicate with each other should not affect
- the model design.
-
- - gateways within general purpose host processors where the
- gateway program is just one of several that may want access
- to the network.
-
- - gateways connected to three or more networks.
-
- - gateways using only a single net interface. Such an
- arrangement might result if, for example, a single medium
- were used by two different nets. readdressing, say, ....
-
- - both big and small (in terms of power, size, cost,
- capability) gateways (including very simple - perhaps purely
- hardware - implementations).
-
-
- - 15 -
-
-
-
-
-
-
- - existing ARPANET gateways.
-
- - existing othernet (sic) gateways.
-
- - the gateway module which sits between a host TCP, say, and
- the network, and whose job it is to select a destination
- gateway consistent with the destination host.
-
- - a gateway with two or more interfaces to a single network.
-
- - a gateway which is (either always or sometimes) unwilling or
- unable to participate in Monitoring and Control exercises.
-
- - gateways which are responsible for access control or
- authentication. The need for these special functions may
- impact the form of certain mechanisms proposed for use in
- the model implementation.
-
- - gateways which need to perform fragmentation or reassembly
- of encrypted data messages, or which need to be able to
- understand special packet formats associated with secure
- data transmissions.
-
- - gateways which may without warning turn into "one-way" paths
- only for such applications as military EMCON.
-
-
-
-
-
-
- 5.2 The Beginnings of a Model
-
-
-
- There are several kinds of information which the gateway
-
- should be able to exchange with the GMCC in support of its
-
- Monitoring and Control activities. Among them are:
-
- Administrative Information
-
- This is information that identifies the gateway uniquely
- among all the components of the composite Catenet. To get a
- proper picture of the net at any given time, a GMCC would
- like to be able to discern, among other things,
-
- the computer type
- the memory size
- the gateway characterization (conventional, ARPANET, ...)
- the Administrator's name, address, phone number
- the program size, release number, release date and time
-
-
- - 16 -
-
-
-
-
-
-
- the addresses of hosts serving as GMCCs
- the names of connected nets, etc.
-
- Information such as this may best be sent unsolicited to a
- special service host when a gateway first comes up on the
- net after some outage; interested experimenters could then
- retrieve the information from the host much as is currently
- done in the ARPANET for retrieving Host status information.
-
- Measurement Information
-
- This information is simply the collective set of statistics
- accumulated by the gateway during its operation. They
- reflect the processing performed by the gateway in servicing
- internet traffic.
-
- Monitoring Information
-
- This is primarily the "up/down", "up for how long", "planned
- outages", "recent crash explanation", "net interface reset",
- etc. kinds of information which dictates to the GMCC the
- status and health of the gateway component.
-
- Control Information
-
- This is either the information sent by the GMCC to cause the
- gateway to enter a test, reload, or, restart mode, or the
- information sent by the gateway to the GMCC to report the
- results of component testing, to dump some of its memory,
- etc.
-
- Debugging Information
-
- Patterned after a general purpose time sharing host's DDT
- program which has complete control over the execution of
- subservient programs, the information associated with
- debugging includes commands to read or write a cell, to set
- or reset (pseudo) breakpoints, to search memory, etc. and
- the responses to these commands. Two kinds of DDTs may have
- to be accommodated in any given gateway implementation, one
- to be used by experimenters, say, and one, like XNET, to be
- used during initial debugging.
-
- Descriptive Information
-
- This is the information which conveys to the GMCC the list
- of capabilities possessed by the gateway; it includes a
- listing of the kinds of information collected and reported
- by the gateway, a characterization of queue capacities, a
- list of settable operational parameters, a description of
- the histograms maintained by the gateway, a list of the
- protocols supported, etc. It responds to the GMCC's
- questions about "what can you do", "how much can you do",
- etc.
-
- - 17 -
-
-
-
-
-
-
- Experimental Information
-
- This is the information associated with the manipulation of
- the component by experimenters. It is in part descriptive
- (experimenters can ask what experiments are supported, what
- parameters are allowed, what range on parameters is
- accepted, etc.), in part control (they can request
- initiation of an experiment), and in part measurement (they
- can request operational statistics associated with the
- experiment), but it seems reasonable to distinguish it as
- distinct from these other operational aspects insofar as
- possible; not all gateways which provide descriptive,
- control, and measurement information will also support
- experimental use.
-
- Accounting Information
-
- This information is basically the set of raw statistics
- which should be used by an administrator for charging for
- gateway utilization. It is reasonable to distinguish this
- information from pure measurement information since it is
- not necessarily of interest to a GMCC worrying about
- functional capabilities, and will likely have to be reported
- to some special host rather than a general purpose community
- GMCC.
-
- Operational Information
-
- This is included here just as a reminder that in addition to
- manipulating all the information associated with Monitoring
- and Control activities, the gateway will also want to
- occassionally handle internet messages, routing messages,
- and the rest of the information that is its "reason for
- being" in the first place!
-
-
-
- Note that it is possible to consider that each individual
-
- kind of information is associated with a particular kind of
-
- "event" which occurs within a gateway. Thus we may have
-
- Measurement events, Monitoring events, and even Administrative
-
- events within a functioning gateway. It is also the role of the
-
- gateway model to specify how these events are to be recognized,
-
- recorded, reported, caused, prevented, suspended, continued, etc.
-
-
-
-
-
- - 18 -
-
-
-
-
-
-
- At least three notions are central to our discusionss at
-
- this point. First, we have the four basic functions that we
-
- have discussed in detail before: Performance Monitoring, Event
-
- Recording, Functional Testing, and Component Maintenance. From a
-
- suitable, high level external viewpoint, these are the functions
-
- that the gateway is involved in. Second, we have the different
-
- kinds of information which must be recorded by the gateway and
-
- transported between the gateway and the GMCC. Each different
-
- kind of information implies possibly a distinct formatting
-
- requirement, distinct collection mechanism, etc. Finally, there
-
- are the several different mechanisms which must exist inside the
-
- gateway that can be used to collect, record, and report the
-
- different kinds of information. The most apparent mechanisms
-
- which exist in the gateway implementations are processes.
-
- Processes are the addressable resources which carry on dialogues
-
- with the GMCC and with each other in some cases. In addition to
-
- the distinct processes, there are other mechanisms which we will
-
- just label as "routines". Routines are best thought of as
-
- utility functions which may be invoked by any of the gateway
-
- processes to help each get its collecting, recording, and
-
- reporting done. An example of a utility routine might be one
-
- which formats a message according to gateway-to-GMCC protocol
-
- specifications and adds it to a queue of messages to be sent.
-
- Examples of processes are
-
- - the monitoring process which generates the periodic and
- spontaneous reports to the GMCC describing the
- operational status of the gateway.
-
-
-
-
- - 19 -
-
-
-
-
-
-
- - the measurement process which delivers cumulative
- statistics to the GMCC.
-
- - the echoing process which returns all received messages
- to the source from which they originated.
-
- - the memory transport process which moves portions of
- the gateway memory (programs or data) to or from the
- GMCC.
-
- - the terminal handling process which excanges ASCII
- character streams between the gateway's terminal (if
- one is present) and a specified internetwork source or
- destination.
-
- - the debugging process.
-
- - the message generator process.
-
- - etc.
-
-
-
-
- It should be obvious that processes do not deal one-to-one
-
- with the kinds of information we discussed above. A given
-
- process, such as the measurement process, may be used to report
-
- the cumulative statistics of each of several kinds of
-
- information. Alternatively, it may take more than one process to
-
- deal with all the information of any particular kind; for example
-
- experimental information as discussed above. And it is certainly
-
- likely that multiple distinct processes will have a need to share
-
- a single common routine whenever their processing requirements
-
- are identical; for example, tracing of messages sent from the
-
- GMCC to the debugger, to the echoer, or to the terminal handler
-
- should be done by having each process (conceptually) invoke the
-
- single trace mechanism. It may also be the case that two
-
- processes can be cascaded for the purpose of combining different
-
- kinds of information into a single net message.
-
-
- - 20 -
-
-
-
-
-
-
- 5.3 A Sample Modeling
-
-
- We will develop the gateway model in terms of a general
-
- purpose host's implementation, since this allows inclusion of as
-
- much mechanism as may be useful for the more general
-
- implementation. The figure below shows the principle components
-
- of the input handler for a net-dependent part of a general
-
- purpose gateway.
-
-
- First there is a hardware component which represents the physical
-
- interface between the network and the gateway processor.
-
- Obviously this interface will be different for different nets and
-
- for different processors, but as a model component should always
-
- correspond to some real chunk of hardware in any implementation.
-
-
- Second, there is a piece of code which serves to control the
-
- input portion of the net interface hardware. Its basic function
-
- is to effect the reading of messages from the network into
-
- gateway memory. In the process, it may perform intermediate
-
- parsing, do checksum and consistency processing, etc.
-
-
- Third, there is a message queue where unparsed messages reside
-
- after they have been received by the net interface routine but
-
- before they have been processed by any other gateway routine.
-
- This queue may be implemented in any of several ways, and may
-
- only have room for a single message in some implementations. (A
-
- "higher" level routine may perform queue management in this case,
-
- using a different data structure.)
-
-
-
-
- - 21 -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 22 -
-
-
-
-
-
-
- Fourth, there is a second routine depicted whose job it is to
-
- parse the received messages one-by-one and distribute them
-
- individually to new message queues based on the contents of their
-
- local network header.
-
-
- Finally, there are several model components (including both data
-
- structures and routines) which are not pictured, but still must
-
- be modelled; a subsequent and more complete modelling effort will
-
- certainly include them. These are data structures like buffer
-
- pools and routines like buffer managers, etc.
-
-
-
- Associated with these model components are a large number of
-
- parameters, both static and operational. These are the things
-
- we've been calling "events". In the following we give a sampling
-
- of the events of interest for each of the event types we
-
- identified before. The sampling is not complete, but it is
-
- representative of the kinds of information we might be interested
-
- in for purposes of Monitoring and Control in the gateway
-
- modelling. Of course, not all of the events are of equal
-
- interest or value; as modelers, we should attempt to identify as
-
- many as we can, and leave to the individual implementers the
-
- selection of which events they really want to record, report,
-
- etc.
-
-
- Events of Interest:
-
- Administrative -
-
- the name and manufacturer of the hardware interface
-
-
-
-
- - 23 -
-
-
-
-
-
-
- Measurement -
-
- a histogram of log[base 2] message sizes
- message counts for each distinct local header type
-
-
- Monitoring -
-
- cumulative uptime
- number of interface errors
-
-
- Control -
-
- reset counters
- place a message on the input queue
-
-
- Debugging -
-
- read the hardware status register
-
-
- Descriptive -
-
- Fan out for local headers
- queue size
- maximum message size
-
-
- Experimental -
-
- discard every second message at the interface
-
-
- Accounting -
-
- total bits received at the interface
-
-
-
-
-
-
-
- 5.4 Continuing the Sample Modeling
-
-
- In this section we continue the sample model introduced
-
- above by showing how certain of the data paths might be extended
-
- to account for subsequent message processing. It should be easy
-
-
- - 24 -
-
-
-
-
-
-
- to identify the events of interest in this extension given a
-
- little thought. Subsequent attempts at modelling will enumerate
-
- these in detail. Note that there are probably several
-
- alternative ways of depicting these later stages of message
-
- processing; this fact is compounded by the fact that this is the
-
- point in message processing where the
-
- net-dependent/net-independent boundary may be crossed. Further
-
- discussion of alternatives to this part of the model is postponed
-
- to the section entitled "Issues".
-
-
-
- Figure 2 shows the extension to the model. It begins where
-
- the previous figure left off. First, note that at this point we
-
- have separated the various types of messages arriving at the net
-
- interface into unique queues according to indicators in the local
-
- header. For this figure we will follow only a single path -- the
-
- one followed by internet messages which carry the normal internet
-
- traffic. These internet packets are removed from their queue by
-
- a routine which separates them again, this time according to the
-
- version bit, into a queue of messages which employ the previous
-
- internet formatting conventions and a queue of messages which
-
- employ the current conventions.
-
-
- From this latter queue, the messages are sent to another routine
-
- whose job is to initiate the option processing. In Figure 2, we
-
- have represented the options as subroutines without further
-
- elaboration; subsequent versions of the model should provide the
-
- elaboration.
-
-
-
- - 25 -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 26 -
-
-
-
-
-
-
- Finally, after option processing, the messsages are separated
-
- again into individual queues according to the values in the
-
- protocol field. Here, separate queues may be formed for
-
- unrecognized protocols, previous and current versions of TCP,
-
- gateway routing messages, and eventually the Monitoring and
-
- Control messages, the Datagram Protocol, the Real-Time Protocol,
-
- etc.
-
-
- As stated, we will not elaborate here on the events of
-
- interest for this part of the model; some should be obvious.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 27 -
-
-
-
-
-
-
- 5.5 Unresolved Issues
-
-
- In this section we want to address a number of issues which
-
- are not yet resolved in the modelling of the gateway component.
-
- Their resolution will probably depend on prolonged discussions in
-
- certain cases, on snap decisions in others; possibly in some
-
- cases a satisfactory resolution will not be possible, and
-
- whatever alternative solutions are proposed will all have to be
-
- included in a generalized modelling to make sure the modelling is
-
- comprehensive enough.
-
- At any rate, the topics which need further investigation are
-
- presented below.
-
-
-
-
-
- 5.5.1 Are the Event Types Correct
-
-
- First there needs to be some general agreement that the
-
- event types (information types) we have identified are sufficient
-
- for modelling purposes. It is probably the case that they are
-
- correct enough for a beginning, and that no particularly
-
- disruptive perturbation of the model would be caused if another
-
- event type had to someday be accommodated or an existing event
-
- type had to be deleted. However, the omission of an XNET
-
- information type (not to be confused with the distinct
-
- "debugging" type) may have to be remedied before too long.
-
-
-
-
-
-
-
-
- - 28 -
-
-
-
-
-
-
- 5.5.2 What Information Should be Communicated to the GMCC
-
-
- Here there is a lot of room for varying opinion. The next
-
- cut at the model will try to identify as many potential events of
-
- interest as possible. Obviously, not all these events will be of
-
- interest to all implementers; that's why the Monitoring and
-
- Control mechanisms must be sure to allow for only partial
-
- participation on the part of any particular implementation.
-
- However, it may also be the case that we omit some event that is
-
- of particular interest to some gateway implementer, or the
-
- information which we choose to record about the event is not
-
- quite what is needed for some implementer's needs. Our
-
- collection mechanism must be flexible enough to accommodate
-
- extensions at any time.
-
- Here the real issue may be how to control, administratively,
-
- the selection of events of interest so that all parties are
-
- satisfied with the set selected.
-
-
-
- 5.5.3 How Should Information be Communicated to the GMCC
-
-
- We are of the opinion that in most cases, the basic
-
- gateway-to-GMCC communication facility should be datagram
-
- oriented on the basis that (1) connection overhead may be too
-
- expensive for certain gateway implementations, that (2) no flow
-
- control is probably needed since the gateways will not be
-
- generating data too frequently and since GMCCs will generally
-
- have substantially greater storage and processing capabilities
-
- than will the gateways, and that (3) a practical reporting scheme
-
-
- - 29 -
-
-
-
-
-
-
- can probably be developed in which lost messages will not
-
- necessarily represent lost information, merely delayed delivery
-
- of information, since the contents of lost messages can be
-
- inferred from later messages, (this is the case for cumulative
-
- statistics for example); on the other hand, the datagrams should
-
- carry sequencing information, and will of course employ standard
-
- Internet Headers.
-
- Datagram service will be satisfactory in most cases, we
-
- hope. In certain instances, however, reliable transmissions may
-
- be extremely important; for these instances, some additional
-
- capability may have to be added. As yet, we have no real feel
-
- for the capabilities required; thus this is still an open issue.
-
- Also at issue is the decision as to whether internet messages
-
- directed at the various gateway processes should all carry a
-
- single protocol designator, or whether each different message
-
- type should command a distinct designator. It is not yet clear
-
- whether minimal gateway implementations would find it easier to
-
- process messages formatted in one way vs. the other, or whether
-
- it is too wasteful of the Internet Header's protocol field, or
-
- whether it is easier one way or the other to subsequently add or
-
- delete new message formats.
-
- Beyond these basic issues, there is also the issue of
-
- message formats and message content. Two alternatives present
-
- themselves as regards event reporting. We assume that event
-
- counters can be maintained in 16-bit words, say. We can insist
-
- that messages contain a fixed number of counters in a fixed
-
- order, and thus eliminate the need to transmit descriptive
-
-
- - 30 -
-
-
-
-
-
-
- information with each reporting message. Or, we can allow for
-
- every counter to be accompanied by another word which names the
-
- counter. Tradeoffs between the two strategies are not yet
-
- properly understood.
-
-
-
- 5.5.4 Addressing Processes from Outside the Gateway
-
-
- Each of the gateway processes responsible for some activity
-
- of Monitoring and Control has a unique identity, or name, within
-
- the Catenet. But because the gateway is attached to multiple
-
- nets, it is possible for each process to have multiple distinct
-
- addresses. We can assume that one reasonable modelling for the
-
- net-dependent input handler requires the input handler to
-
- recognize at the net interface all the messages addressed to
-
- processes which share its own net (and host) address. This is
-
- the case for example in a general purpose implementation of the
-
- gateway, since the general purpose input handler doesn't normally
-
- receive messages for processes that don't share its own net
-
- address. It probably should not be the responsibility of a given
-
- net-dependent input handler to be aware that it is playing a role
-
- in a gateway implementation, and thus to be cognizant of the
-
- alternative internet addresses of the gateway processes it thinks
-
- of as its own; i.e. the net-dependent code should not have to
-
- know what other nets the gateway is connected to. Therefore, if
-
- a message arrives at one net interface that specifies a resource
-
- (process) whose net address is different from that of the input
-
- handler, then the message should simply be handed off to a
-
-
-
- - 31 -
-
-
-
-
-
-
- special process which can effect the proper disposition for the
-
- message without further involvement of the input handler.
-
- Figure 3 depicts this arrangement.
-
-
- Here, each network has its own interface to a common copy of the
-
- gateway process, so that it can communicate with it directly
-
- whenever a message arrives which addresses the process via the
-
- appropriate net. However, when a message is received for a
-
- destination not known to the input handler, the message is simply
-
- handed to the special process, which in this figure is referred
-
- to as the "Postman". Note that the Postman can effect delivery
-
- to the processes via its own interface, so that successful
-
- delivery does not depend on the route taken by the message.
-
- (Note that the model might want to specify that the Postman be
-
- able to add messages to the input queues of the net-dependent
-
- input handlers as a means for effecting delivery in a uniform
-
- way.) The Postman here also has the responsibility for
-
- performing the tasks associated with the routing of messages to
-
- distant locations. That is, messages input at the gateway which
-
- are only passing through should be routed by the general gateway
-
- routing algorithms; these can be implemented by the Postman, or
-
- by some other process to which the Postman interfaces.
-
-
- There is, of course, another way to model the
-
- net-dependent/net-independent boundary. Figure 4 shows this
-
- other way.
-
-
-
-
-
-
- - 32 -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 33 -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 34 -
-
-
-
-
-
-
- Basically the difference here is that the net-dependent input
-
- handlers no longer have their own interfaces to the gateway
-
- processes. Instead, they simply pass all received messages to
-
- the internal Postman and allow it to effect delivery. This is an
-
- acceptable approach even if in the general purpose host
-
- implementation the net-dependent input handlers still have to
-
- worry about interfacing processes which aren't using Internet
-
- Headers. However, in this model, the Postman and the affected
-
- processes must be sure to not lose the destination address by
-
- which they were reached, lest they not be able to use the same
-
- address for the source in the header of their response messages.
-
- (We are somehow assuming that the recipient of a message whose
-
- source address does not match the destination address which was
-
- used for transmission, will not be anxious to perform the
-
- required reverse lookup to map the source address into a resource
-
- name. If we were to model this capability, it is not clear where
-
- the processing for this lookup would be performed.)
-
- At issue here then is just exactly which of these two models
-
- should be assumed for "the" model implementation.
-
-
-
- 5.5.5 Addressing Processes from Inside the Gateway
-
-
- Here is an issue which has certainly been touched on in
-
- other internet meetings; it is basically a discussion of the need
-
- for high level protocols to carry their own addressing
-
- information.
-
-
-
-
-
- - 35 -
-
-
-
-
-
-
- Gateway processes will have occassion to communicate with
-
- other processes in support of gateway routing or gateway
-
- Monitoring and Control. Traffic between two gateway processes
-
- may be intrahost, intranet, or internet, depending on the
-
- relative locations of the source and destination processes. At
-
- issue is whether in all cases a single data transport protocol
-
- should be used to effect message delivery. We have already
-
- "concluded" in the discussion of event reporting that gateway
-
- Monitoring and Control messages should employ Internet Headers in
-
- all cases. And it would certainly seem on the surface that this
-
- scheme is ideal. However, in certain cases this may not be true.
-
- We are struck by an inconsistency which arises when we try
-
- to attain symmetry in modelling the gateway's internal
-
- organization. At one point in the model, we have a process whose
-
- job it is to route messages through a given local net. Whenever _________
-
- it is handed an internet message, it analyzes the header of the
-
- message in order to determine the desired destination, and hence
-
- what local address to specify in the net-dependent data transport
-
- protocol.
-
- The inconsistency is found because we don't have a
-
- corresponding process whose job it is to analyze higher level
-
- protocol headers in order to route messages through the internet ________
-
- (using the internet data transport protocol). This means either
-
- that each of our Monitoring and Control processes must make up an
-
- Internet Header itself, or that, if some common process is to do
-
- it, the common process must be handed the addressing information
-
- by some "out-of-band" path (such as a shared memory control
-
-
- - 36 -
-
-
-
-
-
-
- block). This may not be easy to provide for a distributed
-
- gateway implementation, say.
-
- The real issue here, of course, is inspired by the problems
-
- we see for, say, TCP users, if the Internet and TCP Headers
-
- recently proposed are adopted for use in the Catenet. The fact
-
- that higher level protocols are being designed which don't carry
-
- their own addressing information means that these protocols will
-
- be practically unusable in any instance where the data transport
-
- protocol used to carry the messages is different from the data
-
- transport protocol embodied in the Internet Header. TCP, for
-
- example, would probably not be usable without Internet Headers in
-
- the ARPANET, since port addressing would be impossible.
-
- Although it is probably the case that we will not opt to
-
- include addressing information in the messages which adhere to
-
- our higher level Monitoring and Control protocols, and will thus
-
- in fact choose to use the Internet Header to provide addressing,
-
- we nevertheless wonder if it is wise to arbitrarily restrict
-
- these protocols to use with only a single data transport
-
- protocol.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 37 -
-